1. Field of the Invention
The present invention relates to a servo controller for drivingly controlling an arm of a robot or a feed shaft of a drive mechanism of a machine tool, injection molding machine, pressing machine, etc., and more particularly to tandem control for controlling a single movable member by two motors.
2. Description of Related Art
In drive mechanisms for robots, machine tools, injection molding machines, pressing machines, etc., it is often the case that a movable member to be actuated is too large in size to be accelerated or decelerated by a single motor for driving the shaft of the movable member, or that the backlash between the motor and the movable member is so large that the movable member cannot be moved stably. In such cases, tandem control is performed wherein identical commands are supplied to two motors and the single movable member is cooperatively driven by the two motors. When performing the tandem control, the drive shafts of the individual motors need to be subjected to position control so that the movable member may not be twisted.
FIGS. 6 and 7 each exemplify an arrangement for actuating a single movable member by two motors. In the arrangement shown in FIG. 6, a single movable member 4 is linearly movably arranged between drive shafts 16 and 26 driven by respective two motors 15 and 25. On the other hand, in the arrangement shown in FIG. 7, a single movable member 4 is rotatably arranged between opposing drive shafts 16 and 26 driven by respective two motors 15 and 25. The two motors 15 and 25 are subjected to tandem control such that the single movable member 4 is moved along the drive shafts or is rotated. In this case, mechanical characteristics of the mechanical parts of the motors and movable member can be expressed as a transfer mechanism including a spring system and a friction system.
In FIGS. 6 and 7, the transfer mechanism of the motors and movable member is represented by a spring element 41 and a friction element 42 included in the movable member 4.
As such tandem control for position control, torque tandem control and position tandem control are conventionally known.
FIG. 8 is a block diagram showing an exemplary arrangement for the torque tandem control. In the torque tandem control, only one motor 15 is provided with a position detector 18, and a current command is generated using a position feedback value detected by the position detector 18, to control the two motors 15 and 25.
FIG. 9 is a block diagram showing an exemplary arrangement for the position tandem control. In the position tandem control, both the motors 15 and 25 are provided with position detectors 18 and 28, respectively. A position feedback value detected by the position detector 18 is negatively fed back to position control means 11 for position control, and a position feedback value detected by the position detector 28 is negatively fed back to position control means 21 for position control, thereby to control the two motors 15 and 25.
The conventional tandem control is, however, associated with a problem that the movable member undergoes torsion or vibration and that the control is incapable of quick response in high-speed regions.
In the torque tandem control, the position of only one of the two motors is fed back for control, and thus a problem arises in that torsion occurs between the two motors due to the spring system and friction system of the mechanical parts.
In the position tandem control, on the other hand, torsion between the two motors can be eliminated by performing position feedback control on each of the two motors. If the loop gain is increased in order to achieve quick response in high-speed regions, however, interference between the two drive shafts occurs due to the spring element or the friction element, causing vibrations. As a result, the control fails to be stabilized and the response cannot be improved in high-speed regions.
A similar problem arises also in the case of the rotation-type tandem control shown in FIG. 7 when the loop gain is set high in order to improve the rotation accuracy.
An object of the present invention is to provide a servo controller capable of driving a single movable member by two motors with high loop-gain setting to obtain a quick response.
According to the present invention, current commands are corrected based on velocity feedback values from two motors so as to suppress mutual interference due to a difference between mechanical characteristics of drive mechanisms, thus making it possible to set a high loop gain for achieving a quick response.
A servo controller for controlling two motors for cooperatively driving a single movable member of a machine comprises two position controllers respectively controlling the two motors and a damping controller. Each of the position controllers has a position control section to output a velocity command based on an identical position command from a host controller and a position feedback value from an associated position detector provided at the machine, a velocity control section to output a current command based on the velocity command outputted from the position control section and a velocity feedback value from a velocity detector provided at an associated motor, and a current control section to output a voltage command based on the current command outputted from the velocity control section and a current feedback value from a current detector for detecting a current of the associated motor, to operate a current amplifier in accordance with the voltage command.
The damping controller outputs a current command correction value for compensating an interference between the two motors based on the velocity feedback values from the velocity detectors for the two motors.
The current command correction value is added to or subtracted from the current command in the position controller for one of the two motors and is subtracted from or added to the current command in the other position controller for the other of the two motors.
The damping controller may include first computing means for integrating a deviation between the velocity feedback values from the velocity detectors associated with the two motors and multiplying the integrated value by a first constant, and second computing means for multiplying the deviation of the velocity feedback values by a second constant. Outputs of the first and second computing means is added together for use as said current command correction value.
The first computing means obtains a position deviation by integrating the deviation between the velocity feedback values of two motors (drive shafts), and compensates spring element in a mechanical system by multiplying the position deviation by a first constant equivalent to a spring constant of the machine. The second computing means compensates friction element in the mechanical system by multiplying the velocity deviation between the two motors (drive shafts) by a second constant equivalent to a friction coefficient of the machine. With the above first and second computing means, both of the spring compensation and the friction compensation are performed in the mechanical system.
The damping controller may include either the first computing means or the second computing means for performing either the spring compensation or the friction compensation.
The damping controller may further include phase advancing/compensating means for advancing a phase of the current command correction value. The phase advancing/compensating means compensates a delay of the correction that is caused by a delay of the current control sections of the position controllers or of the detection system.
The servo controller of the present invention may further comprise vibration applying/measuring means for determining appropriateness of parameters of the damping controller.
The servo controller of the present invention may further comprise vibration applying/measuring means for determining appropriateness of a parameter of the damping controller. The parameter of the damping controller includes the first constant in the first computing means which is equivalent to the spring constant of the machine, the second constant in the second computing means which is equivalent to the friction coefficient of the machine, and a phase-advance amount in the phase advancing/compensating means. The vibration applying/measuring means generates a vibration application current command having a variable frequency, and adds the vibration application current command to the current command in one of the position controllers. A degree of the interference is observed based on the velocity feedback value from the velocity detector for one of the motors that varies by the addition of the vibration application current command. Thus, optimum values of the parameters can be determined by observing variation of the velocity feedback value while varying the first constant, the second constant and the phase-advance amount.
The vibration applying/measuring means may include a first means for generating a sine-sweep current command having a variable frequency, a second means for adding the sine-sweep current command to the current command in one of the position controller, and a third means for outputting the frequency of the sine-sweep current command and one of the velocity feedback values. While varying the frequency of the sine-sweep current command, variation of the velocity feedback value is observed to check the appropriateness of the parameters of the damping controller.
The sine-sweep current command generating means may vary the frequency thereof at every sampling period by multiplying the sampling period by a counting value increasing at every sampling period.
The sine-sweep current command generating means of the vibration applying/measuring means may be configured such that the frequency of the sine-sweep current command is varied with every sampling period, by multiplying a value of the sampling period by a count value which is incremented with every sampling period.
In the servo controller of the present invention, the position detectors may be provided at a driving system including the movable member and the motors of the machine. The position detectors detect positions of mechanical elements driven by the respective motors or the motors themselves and output the detected positions as the position feedback values.